﻿using Abp.Domain.Entities.Auditing;
using Camc.Quality.RecordTable.FormBase;
using Camc.Quality.RecordTable.FormClass;
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Camc.Quality.Quality
{
    public class ProcessesEntity : FullAuditedEntity<Guid>
    {
        public Guid TechniqueEntityId { get; set; }
        /// <summary>
        /// 原PPS工序ID
        /// </summary>
        public string OriginalProcessesId { get; set; }
        /// <summary>
        /// 工序说明
        /// </summary>
        public String ProcessesExplain { get; set; }
        /// <summary>
        /// 工序号
        /// </summary>
        public int ProcessesSequence { get; set; }
        /// <summary>
        /// 工序名称
        /// </summary>
        public string ProcessesName { get; set; }
        /// <summary>
        /// 工序工时
        /// </summary>
        public decimal ProcessesWorking { get; set; }
        /// <summary>
        /// 工序工种
        /// </summary>
        public string ProcessesType { get; set; }
        /// <summary>
        /// 工序性质
        /// </summary>
        public string ProcessesCharacteristic { get; set; }
        /// <summary>
        /// URL
        /// </summary>
        public string URL { get; set; }

        public ICollection<WorkStepEntity> WorkStepEntities { get; set; }
        public ICollection<ResourcesEntity> ResourcesEntities { get; set; }

        /// <summary>
        /// 已导出Pad端Id
        /// </summary>
        [CanBeNull]
        public string PadId { get; set; }

        /// <summary>
        /// 已导出Pad端Name
        /// </summary>
        [CanBeNull]
        public string PadName { get; set; }


        #region 工艺路线
        /// <summary>
        /// 前端所需坐标
        /// </summary>
        public string Loc { get; set; }

        /// <summary>
        /// 详情
        /// </summary>
        public string Details { get; set; }

        /// <summary>
        /// 形状
        /// </summary>
        public string Figure { get; set; }

        /// <summary>
        /// 字体和边框颜色
        /// </summary>
        public string Color { get; set; }
        /// <summary>
        /// 大小
        /// </summary>
        public int Size { get; set; }
        /// <summary>
        ///   底色
        /// </summary>
        public string Fill { get; set; }

        #endregion
        #region 排配计划
        [CanBeNull]
        /// <summary>
        /// 计划开始时间
        /// </summary>
        public DateTime StartTime { get; set; }
        [CanBeNull]
        /// <summary>
        /// 计划完成时间
        /// </summary>
        public DateTime EndTime { get; set; }
        #endregion
        [CanBeNull]
        /// <summary>
        /// 配套状况
        /// </summary>
        public AssortStatus AssortState { get; set; }
        [CanBeNull]
        /// <summary>
        /// 出库状态
        /// </summary>
        public OutboundStatus OutboundState { get; set; }
    }
}
